#pragma once
#include <iostream>
#include <string>
#include <math.h>
using namespace std;

//Class for Binary Node, mostly from Schwartz
class BinaryNode
{

public:

	BinaryNode* left; //Left node pointer
	BinaryNode* right; //Right node pointer
	const string data; //String for storing data

    BinaryNode(string s);
	BinaryNode(const BinaryNode& other);
	string getData() const;
	BinaryNode* getLeft() const;
	BinaryNode*	getRight() const;
	void setLeft(BinaryNode* l);
	void setRight(BinaryNode* r);

    string ToTree(string blank, string spacing);

    bool naivefind(string target, BinaryNode* n);
	void isolateNode();

	~BinaryNode();
};